<?php

$ws = new swoole_websocket_server("0.0.0.0", 9501);

/**
 * on 事件回调函数，用于处理数据帧
 * open 事件回调函数，用于处理连接打开
 * close 事件回调函数，用于处理连接关闭
 * message 事件回调函数，用于处理消息接收
 */


 /**
  * 建立连接时触发
  * $ws 服务器对象
  * $request 请求对象 包含客户端请求信息
  */
$ws->on('open', function ($ws, $request) {
    var_dump($request->fd, $request->get, $request->server);
    $ws->push($request->fd, "welcome \n");
});

/**
 * 收到数据时触发
 */
$ws->on('message', function ($ws, $request) {
    echo "Message: {$request->data}\n";
    $ws->push($request->fd, "server:{$request->data}");
});


/**
 * 连接关闭时触发
 */
$ws->on('close', function ($ws, $fd) {
    echo "client-{$fd} is closed\n";
}